package com.lzy.product.service;

import com.github.pagehelper.PageInfo;
import com.lzy.framework.core.orm.db.Pager;
import com.lzy.product.dtos.BaseDomain;
import com.lzy.product.dtos.statistics.*;

import java.math.BigDecimal;
import java.util.List;

/**
 * 订单分利记录服务
 * Created by WIN7 on 2017/12/7.
 */
public interface OrderProfitRecordService extends BaseService<OrderProfitRecordDto> {
    /**
     * 根据订单号查询分利记录
     *
     * @param orderId
     * @return
     */
    List<OrderProfitRecordDto> findByOrderId(Long orderId);

    /**
     * 查询分利记录列表
     *
     * @param paramDto
     * @return
     */
    PageInfo<OrderProfitRecordDto> selectList(Pager pager, OrderProfitRecordDto paramDto);

    /**
     * 查询总收益列表
     *
     * @param paramDto
     * @return
     */
    PageInfo<TotalProfitVoDto> queryTotalProfitList(Pager pager, BaseDomain paramDto);

    /**
     * 查询个人收益记录
     *
     * @param paramDto
     * @return
     */
    PageInfo<DayProfitVoDto> queryDayProfitList(Pager pager, DayProfitParamDto paramDto);

    /**
     * 查询个人收益记录
     *
     * @param paramDto
     * @return
     */
    List<DayProfitVoDto> queryDayProfitListNoPage(DayProfitParamDto paramDto);

    /**
     * 获取总收益
     *
     * @param paramDto
     * @return
     */
    BigDecimal getQueryProfit(DayProfitParamDto paramDto);

    /**
     * 获取业务员总收益
     *
     * @return
     */
    BigDecimal getUserTotalProfit();
}
